<html>
	<head>
		<meta charset="utf-8"></meta>
		<title>BBuffer</title>
		<link href="./style.css" rel="stylesheet" type="text/css"/>
	</head>
	<body>
		<div class="class" name="BBuffer">
			<h1>BBuffer</h1>
			<p>继承自<a href="BStream.html">BStream</a></p>
			<p id="resume"><a href="#desc">详细</a></p>
			<h2>public</h2>
			<table id="public">
				<tr><td align="right"/><td><a href="#BBuffer(int)">BBuffer</a>(int size = 0);</td></tr>
				<tr><td align="right"/><td><a href="#BBuffer(const BByte*, int)">BBuffer</a>(const BByte* bytes, int size);</td></tr>
				<tr><td align="right"/><td><a href="#BBuffer(const BByteArray&)">BBuffer</a>(const BByteArray& bytes);</td></tr>
				<tr><td align="right"/><td><a href="#BBuffer(const BBuffer&)">BBuffer</a>(const BBuffer& other);</td></tr>
				<tr><td align="right"/><td><a href="#BBuffer(const BString&)">BBuffer</a>(const BString& str);</td></tr>
				<tr><td align="right"/><td><a href="#BBuffer(const char*)">BBuffer</a>(const char* cstr);</td></tr>
				<tr><td align="right"/><td><a href="#~BBuffer()">~BBuffer</a>();</td></tr>
				<tr><td align="right">void </td><td><a href="#setMode(IOMode)">setMode</a>(IOMode mode);</td></tr>
				<tr><td align="right">bool </td><td><a href="#reset(const BByte*, int)">reset</a>(const BByte* bytes, int size);</td></tr>
				<tr><td align="right">bool </td><td><a href="#reset(const BByteArray&)">reset</a>(const BByteArray& bytes);</td></tr>
				<tr><td align="right">bool </td><td><a href="#reset(const BBuffer&)">reset</a>(const BBuffer& buffer);</td></tr>
				<tr><td align="right">bool </td><td><a href="#reset(const BString&)">reset</a>(const BString& str);</td></tr>
				<tr><td align="right">bool </td><td><a href="#reset(const char*)">reset</a>(const char* cstr);</td></tr>
				<tr><td align="right">bool </td><td><a href="#insert(const BByte*, int)">insert</a>(const BByte* bytes, int size);</td></tr>
				<tr><td align="right">bool </td><td><a href="#insert(const BByteArray&)">insert</a>(const BByteArray& bytes);</td></tr>
				<tr><td align="right">bool </td><td><a href="#insert(const BBuffer&)">insert</a>(const BBuffer& buffer);</td></tr>
				<tr><td align="right">bool </td><td><a href="#insert(const BString&)">insert</a>(const BString& str);</td></tr>
				<tr><td align="right">bool </td><td><a href="#insert(const char*)">insert</a>(const char* cstr);</td></tr>
				<tr><td align="right">bool </td><td><a href="#append(const BByte*, int)">append</a>(const BByte* bytes, int size);</td></tr>
				<tr><td align="right">bool </td><td><a href="#append(const BByteArray&)">append</a>(const BByteArray& bytes);</td></tr>
				<tr><td align="right">bool </td><td><a href="#append(const BBuffer&)">append</a>(const BBuffer& buffer);</td></tr>
				<tr><td align="right">bool </td><td><a href="#append(const BString&)">append</a>(const BString& str);</td></tr>
				<tr><td align="right">bool </td><td><a href="#append(const char*)">append</a>(const char* cstr);</td></tr>
				<tr><td align="right">BByteArray&amp; </td><td><a href="#bytes()">bytes</a>();</td></tr>
				<tr><td align="right">const BByteArray&amp; </td><td><a href="#bytes() const">bytes</a>() const;</td></tr>
				<tr><td align="right">virtual const BByte* </td><td><a href="#data() const">data</a>() const;</td></tr>
				<tr><td align="right">bool </td><td><a href="#empty() const">empty</a>() const;</td></tr>
				<tr><td align="right">bool </td><td><a href="#resize(int)">resize</a>(int size);</td></tr>
				<tr><td align="right">void </td><td><a href="#reset(int)">reset</a>(int size);</td></tr>
				<tr><td align="right">void </td><td><a href="#reset()">reset</a>();</td></tr>
				<tr><td align="right">void </td><td><a href="#clear()">clear</a>();</td></tr>
				<tr><td align="right">void </td><td><a href="#remove(int)">remove</a>(int size);</td></tr>
				<tr><td align="right">bool </td><td><a href="#begin() const">begin</a>() const;</td></tr>
				<tr><td align="right">bool </td><td><a href="#end() const">end</a>() const;</td></tr>
				<tr><td align="right">virtual IOMode </td><td><a href="#mode()">mode</a>() const override;</td></tr>
				<tr><td align="right">virtual bool </td><td><a href="#seek(int)">seek</a>(int offset) const override;</td></tr>
				<tr><td align="right">virtual bool </td><td><a href="#wseek(int)">wseek</a>(int offset) override;</td></tr>
				<tr><td align="right">virtual int </td><td><a href="#offset()">offset</a>() const override;</td></tr>
				<tr><td align="right">virtual int </td><td><a href="#size()">size</a>() const override;</td></tr>
				<tr><td align="right">virtual bool </td><td><a href="#read(void*, int)">read</a>(void* data, int size) const override;</td></tr>
				<tr><td align="right">virtual bool </td><td><a href="#write(const void*, int)">write</a>(const void* data, int size) override;</td></tr>
				<tr><td align="right">virtual bool </td><td><a href="#read(BString&)">read</a>(BString& text) const override;</td></tr>
				<tr><td align="right">virtual bool </td><td><a href="#write(const BString&)">write</a>(const BString& text) override;</td></tr>
				<tr><td align="right">virtual bool </td><td><a href="#readCStr(char*, int)">readCStr</a>(char* cstr, int size) const override;</td></tr>
				<tr><td align="right">virtual bool </td><td><a href="#writeCStr(const char*,int)">writeCStr</a>(const char* cstr, int size = -1) override;</td></tr>
				<tr><td align="right">virtual bool </td><td><a href="#readLine(char*, int)">readLine</a>(char* cstr, int size) const override;</td></tr>
				<tr><td align="right">virtual bool </td><td><a href="#writeLine(const char*,int)">writeLine</a>(const char* cstr, int size = -1) override;</td></tr>
				<tr><td align="right">virtual bool </td><td><a href="#readText(BString&, int)">readText</a>(BString& text, int size) const override;</td></tr>
				<tr><td align="right">virtual bool </td><td><a href="#writeText(const BString&,int)">writeText</a>(const BString& text, int size = -1) override;</td></tr>
				<tr><td align="right">virtual bool </td><td><a href="#readLine(BString&)">readLine</a>(BString& line) const override;</td></tr>
				<tr><td align="right">virtual bool </td><td><a href="#writeLine(const BString&)">writeLine</a>(const BString& line) override;</td></tr>
				<tr><td align="right">const BBuffer&amp; </td><td><a href="#operator = (const BByteArray&)">operator = </a>(const BByteArray& bytes);</td></tr>
				<tr><td align="right">const BBuffer&amp; </td><td><a href="#operator = (const BBuffer&)">operator = </a>(const BBuffer& buffer);</td></tr>
				<tr><td align="right">const BBuffer&amp; </td><td><a href="#operator = (const BString&)">operator = </a>(const BString& str);</td></tr>
				<tr><td align="right">const BBuffer&amp; </td><td><a href="#operator = (const char*)">operator = </a>(const char* cstr);</td></tr>
				<tr><td align="right">inline bool </td><td><a href="#insert(const T&)">insert</a>(const T& value);</td></tr>
				<tr><td align="right">using </td><td><a href="#BStream::read;()">BStream::read;</a></td></tr>
				<tr><td align="right">using </td><td><a href="#BStream::write;()">BStream::write;</a></td></tr>
			</table>
			<div id="desc">
				<h2>详细介绍：</h2>
				<p>BBuffer is a block of data, it provides the methods as stream.</p>
			</div>
			<h2 id="docs">成员文档：</h2>
			<div id="BBuffer(int)">
				<h3>BBuffer(int size = 0);</h3>
				<p>Constructs buffer of size.</p>
			</div>
			<div id="BBuffer(const BByte*, int)">
				<h3>BBuffer(const BByte* bytes, int size);</h3>
			</div>
			<div id="BBuffer(const BByteArray&)">
				<h3>BBuffer(const BByteArray&amp; bytes);</h3>
			</div>
			<div id="BBuffer(const BBuffer&)">
				<h3>BBuffer(const BBuffer&amp; other);</h3>
				<p>Constructs buffer copy form another buffer.</p>
			</div>
			<div id="BBuffer(const BString&)">
				<h3>BBuffer(const BString&amp; str);</h3>
			</div>
			<div id="BBuffer(const char*)">
				<h3>BBuffer(const char* cstr);</h3>
			</div>
			<div id="~BBuffer()">
				<h3>~BBuffer();</h3>
				<p>Destroys the buffer.</p>
			</div>
			<div id="setMode(IOMode)">
				<h3>void setMode(IOMode mode);</h3>
			</div>
			<div id="reset(const BByte*, int)">
				<h3>bool reset(const BByte* bytes, int size);</h3>
			</div>
			<div id="reset(const BByteArray&)">
				<h3>bool reset(const BByteArray&amp; bytes);</h3>
			</div>
			<div id="reset(const BBuffer&)">
				<h3>bool reset(const BBuffer&amp; buffer);</h3>
			</div>
			<div id="reset(const BString&)">
				<h3>bool reset(const BString&amp; str);</h3>
			</div>
			<div id="reset(const char*)">
				<h3>bool reset(const char* cstr);</h3>
			</div>
			<div id="insert(const BByte*, int)">
				<h3>bool insert(const BByte* bytes, int size);</h3>
			</div>
			<div id="insert(const BByteArray&)">
				<h3>bool insert(const BByteArray&amp; bytes);</h3>
			</div>
			<div id="insert(const BBuffer&)">
				<h3>bool insert(const BBuffer&amp; buffer);</h3>
			</div>
			<div id="insert(const BString&)">
				<h3>bool insert(const BString&amp; str);</h3>
			</div>
			<div id="insert(const char*)">
				<h3>bool insert(const char* cstr);</h3>
			</div>
			<div id="append(const BByte*, int)">
				<h3>bool append(const BByte* bytes, int size);</h3>
			</div>
			<div id="append(const BByteArray&)">
				<h3>bool append(const BByteArray&amp; bytes);</h3>
			</div>
			<div id="append(const BBuffer&)">
				<h3>bool append(const BBuffer&amp; buffer);</h3>
			</div>
			<div id="append(const BString&)">
				<h3>bool append(const BString&amp; str);</h3>
			</div>
			<div id="append(const char*)">
				<h3>bool append(const char* cstr);</h3>
			</div>
			<div id="bytes()">
				<h3>BByteArray&amp; bytes();</h3>
				<p>Get the data of buffer.</p>
			</div>
			<div id="bytes() const">
				<h3>const BByteArray&amp; bytes() const;</h3>
			</div>
			<div id="data() const">
				<h3>virtual const BByte* data() const;</h3>
			</div>
			<div id="empty() const">
				<h3>bool empty() const;</h3>
				<p>Checks if the buffer is empty, this don't care the bytes value but the size of bytes.</p>
			</div>
			<div id="resize(int)">
				<h3>bool resize(int size);</h3>
				<p>Resizes the buffer.</p>
			</div>
			<div id="reset(int)">
				<h3>void reset(int size);</h3>
			</div>
			<div id="reset()">
				<h3>void reset();</h3>
			</div>
			<div id="clear()">
				<h3>void clear();</h3>
				<p>Clear this buffer, release the momery.</p>
			</div>
			<div id="remove(int)">
				<h3>void remove(int size);</h3>
			</div>
			<div id="begin() const">
				<h3>bool begin() const;</h3>
			</div>
			<div id="end() const">
				<h3>bool end() const;</h3>
			</div>
			<div id="mode()">
				<h3>virtual IOMode mode() const override;</h3>
			</div>
			<div id="seek(int)">
				<h3>virtual bool seek(int offset) const override;</h3>
				<p>Moves the offset value.</p>
			</div>
			<div id="wseek(int)">
				<h3>virtual bool wseek(int offset) override;</h3>
			</div>
			<div id="offset()">
				<h3>virtual int offset() const override;</h3>
			</div>
			<div id="size()">
				<h3>virtual int size() const override;</h3>
			</div>
			<div id="read(void*, int)">
				<h3>virtual bool read(void* data, int size) const override;</h3>
			</div>
			<div id="write(const void*, int)">
				<h3>virtual bool write(const void* data, int size) override;</h3>
			</div>
			<div id="read(BString&)">
				<h3>virtual bool read(BString&amp; text) const override;</h3>
			</div>
			<div id="write(const BString&)">
				<h3>virtual bool write(const BString&amp; text) override;</h3>
			</div>
			<div id="readCStr(char*, int)">
				<h3>virtual bool readCStr(char* cstr, int size) const override;</h3>
			</div>
			<div id="writeCStr(const char*,int)">
				<h3>virtual bool writeCStr(const char* cstr, int size = -1) override;</h3>
			</div>
			<div id="readLine(char*, int)">
				<h3>virtual bool readLine(char* cstr, int size) const override;</h3>
			</div>
			<div id="writeLine(const char*,int)">
				<h3>virtual bool writeLine(const char* cstr, int size = -1) override;</h3>
			</div>
			<div id="readText(BString&, int)">
				<h3>virtual bool readText(BString&amp; text, int size) const override;</h3>
			</div>
			<div id="writeText(const BString&,int)">
				<h3>virtual bool writeText(const BString&amp; text, int size = -1) override;</h3>
			</div>
			<div id="readLine(BString&)">
				<h3>virtual bool readLine(BString&amp; line) const override;</h3>
			</div>
			<div id="writeLine(const BString&)">
				<h3>virtual bool writeLine(const BString&amp; line) override;</h3>
			</div>
			<div id="operator = (const BByteArray&)">
				<h3>const BBuffer&amp; operator = (const BByteArray&amp; bytes);</h3>
			</div>
			<div id="operator = (const BBuffer&)">
				<h3>const BBuffer&amp; operator = (const BBuffer&amp; buffer);</h3>
			</div>
			<div id="operator = (const BString&)">
				<h3>const BBuffer&amp; operator = (const BString&amp; str);</h3>
			</div>
			<div id="operator = (const char*)">
				<h3>const BBuffer&amp; operator = (const char* cstr);</h3>
			</div>
			<div id="insert(const T&)">
				<h3>inline bool insert(const T&amp; value);</h3>
			</div>
			<div id="BStream::read;()">
				<h3>using BStream::read;</h3>
			</div>
			<div id="BStream::write;()">
				<h3>using BStream::write;</h3>
			</div>
		</div>
	</body>
</html>